<?php
defined('APP_PATH') or die ('Unauthorized access');
/**
 * 验证码扩展类
 * 
 */
class Ext_Vcode
{
	public function create()
	{
		$string=array_merge(range("A","Z"),range(0,9));

		shuffle($string);
		
		for($j=0;$j<6;$j++){
			$vcode.=$string[$j];
		}
		
		$_SESSION['code']=strtolower($vcode);
		$width=60;
		$height=25;
		
		$im=imagecreatetruecolor($width,$height);
		
		
		$bg=imagecolorallocate($im,255,255,255);	//背景颜色
		$fo=imagecolorallocate($im,rand(0,200),rand(0,200),rand(0,150));	//字体颜色
		$border=imagecolorallocate($im,0,0,0);	//边框颜色
		$jam=imagecolorallocate($im,rand(100,255),rand(200,255),rand(150,255));		//干扰颜色
		$line=imagecolorallocate($im,rand(100,255),rand(150,255),rand(150,255));	//干扰线颜色
		
		imagefilledrectangle($im,0,0,$width,$height,$bg);	//填充背景
		
		imagerectangle($im,0,0,$width-1,$height-1,$border);		//画边框
		
		//画干扰点
		for($i=0;$i<200;$i++){
			imagesetpixel($im,rand(1,$width-2),rand(1,$height-2),$jam);  
		}
		
		//画干扰线
		for($i=0;$i<=5;$i++){
			imageline($im,rand(1,$width-2),rand(1,$height-2),rand(1,$width-2),rand(1,$height-2),$line);
		}
		
		imagestring($im,rand(6,8),rand(1,5),rand(1,5),$vcode,$fo);
		
		imagepng($im);
	}
	
}